package com.zenith.edu.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.zenith.edu.po.domain.EduCourseSelection;
import com.zenith.edu.po.dto.EduCourseSelectionDTO;
import com.zenith.edu.po.vo.EduCourseSelectionVO;

import java.util.List;

public interface EduCourseSelectionService extends IService<EduCourseSelection> {
    
    /**
     * 创建课程选课
     * @param dto 课程选课DTO
     * @return 课程选课VO
     */
    EduCourseSelectionVO createCourseSelection(EduCourseSelectionDTO dto);
    
    /**
     * 根据ID获取课程选课详情
     * @param id 课程选课ID
     * @return 课程选课VO
     */
    EduCourseSelectionVO getCourseSelectionById(Long id);
    
    /**
     * 更新课程选课信息
     * @param dto 课程选课DTO
     * @return 课程选课VO
     */
    EduCourseSelectionVO updateCourseSelection(EduCourseSelectionDTO dto);
    
    /**
     * 删除指定课程选课
     * @param id 课程选课ID
     * @return 是否删除成功
     */
    boolean deleteCourseSelection(Long id);
    
    /**
     * 获取课程选课列表
     * @return 课程选课VO列表
     */
    List<EduCourseSelectionVO> getCourseSelectionList();
}